home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2013 October / SAN CD 10-2013 CD-ROM 101.iso / pc / issueMedia / Software / gp1v / Dsp6SEsetup.exe / Schema / dsp60 / obslog.xsd < prev    next >
Encoding:
Extensible Markup Language  |  2012-12-10  |  7.4 KB  |  215 lines

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsd:schema targetNamespace="http://knightware.biz/dsp/schema"
  3.     xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  4.     xmlns:dsp="http://knightware.biz/dsp/schema" 
  5.     elementFormDefault="qualified" 
  6.     attributeFormDefault="unqualified" 
  7.     version="6.0">
  8.     <xsd:include schemaLocation="dsptypes.xsd"/>
  9.     <xsd:annotation>
  10.         <xsd:documentation xml:lang="en">
  11.             Deep-Sky Planner observation log import/export schema.
  12.             Copyright © 2012 Knightware, LLC. All rights reserved.
  13.         </xsd:documentation>
  14.     </xsd:annotation>
  15.  
  16.     <xsd:element name="ObservationLog">
  17.         <xsd:complexType>
  18.             <xsd:sequence>
  19.                 <!-- Reference lists are required but may not have content -->
  20.                 <!-- Reference list of areas keyed by areaname -->
  21.                 <xsd:element name="areas">
  22.                     <xsd:complexType>
  23.                         <xsd:sequence>
  24.                             <xsd:element name="area" type="dsp:areaType" minOccurs="0" maxOccurs="unbounded" />
  25.                         </xsd:sequence>
  26.                     </xsd:complexType>
  27.                 </xsd:element>
  28.  
  29.                 <!-- Reference list of timezones keyed by timezonename -->
  30.                 <xsd:element name="timezones">
  31.                     <xsd:complexType>
  32.                         <xsd:sequence>
  33.                             <xsd:element name="timezone" type="dsp:timezoneType" minOccurs="0" maxOccurs="unbounded" />
  34.                         </xsd:sequence>
  35.                     </xsd:complexType>
  36.                 </xsd:element>
  37.  
  38.                 <!-- Reference list of locations keyed by sitename -->
  39.                 <xsd:element name="locations">
  40.                     <xsd:complexType>
  41.                         <xsd:sequence>
  42.                             <xsd:element name="location" type="dsp:locationType" minOccurs="0" maxOccurs="unbounded"/>
  43.                         </xsd:sequence>
  44.                     </xsd:complexType>
  45.                 </xsd:element>
  46.  
  47.                 <!-- Reference list of sessions keyed by site & begin time -->
  48.                 <xsd:element name="sessions">
  49.                     <xsd:complexType>
  50.                         <xsd:sequence>
  51.                             <xsd:element name="session" type="dsp:sessionType" minOccurs="0" maxOccurs="unbounded" />
  52.                         </xsd:sequence>
  53.                     </xsd:complexType>
  54.                 </xsd:element>
  55.  
  56.                 <!-- Reference list of observers keyed by observername -->
  57.                 <xsd:element name="observers">
  58.                     <xsd:complexType>
  59.                         <xsd:sequence>
  60.                             <xsd:element name="observer" type="dsp:observerType" minOccurs="0" maxOccurs="unbounded"/>
  61.                         </xsd:sequence>
  62.                     </xsd:complexType>
  63.                 </xsd:element>
  64.  
  65.                 <!-- Reference list of instruments keyed by instrumentname -->
  66.                 <xsd:element name="instruments">
  67.                     <xsd:complexType>
  68.                         <xsd:sequence>
  69.                             <xsd:element name="instrument" type="dsp:instrumentType" minOccurs="0" maxOccurs="unbounded" />
  70.                         </xsd:sequence>
  71.                     </xsd:complexType>
  72.                 </xsd:element>
  73.  
  74.                 <!-- Reference list of cameras keyed by cameraname -->
  75.                 <xsd:element name="cameras">
  76.                     <xsd:complexType>
  77.                         <xsd:sequence>
  78.                             <xsd:element name="camera" type="dsp:cameraType" minOccurs="0" maxOccurs="unbounded" />
  79.                         </xsd:sequence>
  80.                     </xsd:complexType>
  81.                 </xsd:element>
  82.  
  83.                 <!-- Reference list of optical filters keyed by filtername -->
  84.                 <xsd:element name="filters">
  85.                     <xsd:complexType>
  86.                         <xsd:sequence>
  87.                             <xsd:element name="filter" type="dsp:filterType" minOccurs="0" maxOccurs="unbounded" />
  88.                         </xsd:sequence>
  89.                     </xsd:complexType>
  90.                 </xsd:element>
  91.  
  92.                 <!-- Reference list of eyepieces keyed by eyepiecename -->
  93.                 <xsd:element name="eyepieces">
  94.                     <xsd:complexType>
  95.                         <xsd:sequence>
  96.                             <xsd:element name="eyepiece" type="dsp:eyepieceType" minOccurs="0" maxOccurs="unbounded" />
  97.                         </xsd:sequence>
  98.                     </xsd:complexType>
  99.                 </xsd:element>
  100.  
  101.                 <!-- Reference list of barlows and reducers keyed by barlowname -->
  102.                 <xsd:element name="barlows">
  103.                     <xsd:complexType>
  104.                         <xsd:sequence>
  105.                             <xsd:element name="barlow" type="dsp:barlowType" minOccurs="0" maxOccurs="unbounded"/>
  106.                         </xsd:sequence>
  107.                     </xsd:complexType>
  108.                 </xsd:element>
  109.  
  110.                 <!-- List of observations -->
  111.                 <xsd:element name="observations">
  112.                     <xsd:complexType>
  113.                         <xsd:sequence>
  114.                             <xsd:element name="observation" type="dsp:observationType" minOccurs="0" maxOccurs="unbounded" />
  115.                         </xsd:sequence>
  116.                     </xsd:complexType>
  117.                 </xsd:element>
  118.                 <!-- End of observations list -->
  119.             </xsd:sequence>
  120.             <!-- schemaVersion -->    
  121.             <xsd:attribute name="schemaVersion" type="xsd:string" use="required"/>
  122.             <!-- producer -->    
  123.             <xsd:attribute name="producer" type="xsd:string" use="optional"/>
  124.         </xsd:complexType>
  125.         
  126.         <!-- Key constraints -->
  127.         <xsd:key name="areaKey">
  128.             <xsd:selector xpath="./areas/area"/>
  129.             <xsd:field xpath="@id"/>
  130.         </xsd:key>
  131.         <xsd:key name="timezoneKey">
  132.             <xsd:selector xpath="./timezones/timezone"/>
  133.             <xsd:field xpath="@id"/>
  134.         </xsd:key>
  135.         <xsd:key name="locationKey">
  136.             <xsd:selector xpath="./locations/location"/>
  137.             <xsd:field xpath="@id"/>
  138.         </xsd:key>
  139.         <xsd:key name="sessionKey">
  140.             <xsd:selector xpath="./sessions/session"/>
  141.             <xsd:field xpath="@id"/>
  142.         </xsd:key>
  143.         <xsd:key name="instrumentKey">
  144.             <xsd:selector xpath="./instruments/instrument"/>
  145.             <xsd:field xpath="@id"/>
  146.         </xsd:key>
  147.         <xsd:key name="cameraKey">
  148.             <xsd:selector xpath="./cameras/camera"/>
  149.             <xsd:field xpath="@id"/>
  150.         </xsd:key>
  151.         <xsd:key name="filterKey">
  152.             <xsd:selector xpath="./filters/filter"/>
  153.             <xsd:field xpath="@id"/>
  154.         </xsd:key>
  155.         <xsd:key name="eyepieceKey">
  156.             <xsd:selector xpath="./eyepieces/eyepiece"/>
  157.             <xsd:field xpath="@id"/>
  158.         </xsd:key>
  159.         <xsd:key name="barlowKey">
  160.             <xsd:selector xpath="./barlows/barlow"/>
  161.             <xsd:field xpath="@id"/>
  162.         </xsd:key>
  163.         <xsd:key name="observerKey">
  164.             <xsd:selector xpath="./observers/observer"/>
  165.             <xsd:field xpath="@id"/>
  166.         </xsd:key>
  167.         <xsd:key name="observationKey">
  168.             <xsd:selector xpath="./observations/observation"/>
  169.             <xsd:field xpath="@id"/>
  170.         </xsd:key>
  171.  
  172.         <!-- Relations -->
  173.         <!-- Saxon warns of no QNames in xpath attributes -->
  174.         <xsd:keyref name="areaKeyRef" refer="dsp:areaKey">
  175.             <xsd:selector xpath="./locations/location" />
  176.             <xsd:field xpath="areaId" />
  177.         </xsd:keyref>            
  178.         <xsd:keyref name="timezoneKeyRef" refer="dsp:timezoneKey">
  179.             <xsd:selector xpath="./locations/location" />
  180.             <xsd:field xpath="timezoneId" />
  181.         </xsd:keyref>            
  182.         <xsd:keyref name="sitenameKeyRef" refer="dsp:locationKey">
  183.             <xsd:selector xpath="./sessions/session" />
  184.             <xsd:field xpath="sitenameId" />
  185.         </xsd:keyref>
  186.         <xsd:keyref name="sessionKeyRef" refer="dsp:sessionKey">
  187.             <xsd:selector xpath="./observations/observation" />
  188.             <xsd:field xpath="sessionId" />
  189.         </xsd:keyref>
  190.         <xsd:keyref name="instrumentKeyRef" refer="dsp:instrumentKey">
  191.             <xsd:selector xpath="./observations/observation" />
  192.             <xsd:field xpath="instrumentId" />
  193.         </xsd:keyref>
  194.         <xsd:keyref name="cameraKeyRef" refer="dsp:cameraKey">
  195.             <xsd:selector xpath="./observations/observation" />
  196.             <xsd:field xpath="cameraId" />
  197.         </xsd:keyref>
  198.         <xsd:keyref name="eyepieceKeyRef" refer="dsp:eyepieceKey">
  199.             <xsd:selector xpath="./observations/observation" />
  200.             <xsd:field xpath="eyepieceId" />
  201.         </xsd:keyref>
  202.         <xsd:keyref name="filterKeyRef" refer="dsp:filterKey">
  203.             <xsd:selector xpath="./observations/observation" />
  204.             <xsd:field xpath="filterId" />
  205.         </xsd:keyref>
  206.         <xsd:keyref name="barlowKeyRef" refer="dsp:barlowKey">
  207.             <xsd:selector xpath="./observations/observation" />
  208.             <xsd:field xpath="barlowId" />
  209.         </xsd:keyref>
  210.         <xsd:keyref name="observerKeyRef" refer="dsp:observerKey">
  211.             <xsd:selector xpath="./observations/observation" />
  212.             <xsd:field xpath="observerId" />
  213.         </xsd:keyref>
  214.     </xsd:element>
  215. </xsd:schema>